/*
 * @Description:
 * @Author: zheng yiliang
 * @Date: 2021-04-24 09:44:51
 * @LastEditTime: 2021-04-26 22:03:31
 * @LastEditors: zheng yiliang
 */
import axios from 'axios'
import { Message } from 'element-ui'
// Loading,
// loading框设置局部刷新，且所有请求完成后关闭loading框
// let loading // load加载

// function startLoading () {
//   loading = Loading.service({
//     lock: true,
//     text: 'Loading...',
//     target: document.querySelector('.loading-area')// 设置加载动画区域
//   })
// }
// function endLoading () {
//   loading.close()
// }

// // 声明一个对象用于存储请求个数
// let needLoadingRequestCount = 0
// function showLoading () {
//   if (needLoadingRequestCount === 0) {
//     startLoading()
//   }
//   needLoadingRequestCount++
// }
// function tryHideLoading () {
//   if (needLoadingRequestCount <= 0) return
//   needLoadingRequestCount--
//   if (needLoadingRequestCount === 0) {
//     endLoading()
//   }
// }

const service = axios.create({
  baseURL: process.env.VUE_APP_BASE_API,
  timeout: 5000 // 访问超时的时间限制
})

// 请求拦截器
service.interceptors.request.use(config => {
  // showLoading()
  // console.log(config)
  // loadinginstace = Loading.service({ target: '.layout-main' }) // 请求打开loading
  return config
}, err => {
  // tryHideLoading()
  Message.error({ message: '请求超时!' })
  return Promise.resolve(err)
})

// 响应拦截器
service.interceptors.response.use(response => {
  // tryHideLoading()
  // console.log(response)
  const { data } = response
  // loadinginstace.close() // 响应成功关闭loading
  console.log(data)
  if (data._RejCode === '9999') {
    Message.error({
      message: data._RejMsg
    })
  }
  return data
}, err => {
  // tryHideLoading()
  return Promise.reject(err)
})

export default service
